首页> 外文OA文献 >Stepwise Debugging of Answer-Set Programs
【2h】

Stepwise Debugging of Answer-Set Programs

机译:逐步调试答案集程序

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

We introduce a stepping methodology for answer-set programming (ASP) thatallows for debugging answer-set programs and is based on the stepwiseapplication of rules. Similar to debugging in imperative languages, where thebehaviour of a program is observed during a step-by-step execution, steppingfor ASP allows for observing the effects that rule applications have in thecomputation of an answer set. While the approach is inspired from debugging inimperative programming, it is conceptually different to stepping in otherparadigms due to non-determinism and declarativity that are inherent to ASP. Inparticular, unlike statements in an imperative program that are executedfollowing a strict control flow, there is no predetermined order in which toconsider rules in ASP during a computation. In our approach, the user is freeto decide which rule to consider active in the next step following his or herintuition. This way, one can focus on interesting parts of the debugging searchspace. Bugs are detected during stepping by revealing differences between theactual semantics of the program and the expectations of the user. As a solidformal basis for stepping, we develop a framework of computations foranswer-set programs. For fully supporting different solver languages, we buildour framework on an abstract ASP language that is sufficiently general tocapture different solver languages. To this end, we make use of abstractconstraints as an established abstraction for popular language constructs suchas aggregates. Stepping has been implemented in SeaLion, an integrateddevelopment environment for ASP. We illustrate stepping using an examplescenario and discuss the stepping plugin of SeaLion. Moreover, we elaborate onmethodological aspects and the embedding of stepping in the ASP developmentprocess.
机译:我们介绍了一种用于答案集编程(ASP)的步进方法,该方法可用于调试答案集程序,并且基于规则的逐步应用。与命令式语言中的调试类似,在逐步执行过程中观察程序的行为,ASP的逐步执行可以观察规则应用程序在答案集计算中的作用。尽管该方法的灵感来自命令式编程的调试,但由于ASP固有的不确定性和声明性,它在概念上与采用其他范式有所不同。特别是,与命令式程序中遵循严格控制流执行的语句不同,在计算过程中没有预定顺序来考虑ASP中的规则。在我们的方法中,用户可以根据自己的直觉自由决定在下一步中考虑使用哪个规则。这样,您可以专注于调试搜索空间中有趣的部分。通过揭示程序的实际语义与用户期望之间的差异,可以在步进过程中检测到错误。作为逐步实施的坚实基础,我们开发了用于答案集程序的计算框架。为了完全支持不同的求解器语言,我们在抽象的ASP语言上构建了框架,该语言足够通用以捕获不同的求解器语言。为此,我们将abstractconstraints用作流行语言构造(例如聚合)的既定抽象。在ASP的集成开发环境SeaLion中已实现了步进。我们使用示例场景说明了步进,并讨论了SeaLion的步进插件。此外,我们详细介绍了方法论方面以及ASP开发过程中步骤的嵌入。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号